草庐IT

c++ - 随机双C++11

全部标签

linux - 在 linux 上使用 mingw 交叉编译 c++11 线程

我尝试在linuxforwindows上使用mingw交叉编译一些c++11源代码。代码使用std::thread。当我编译时,我总是会遇到一些错误:$../mingw/cross/bin/i686-w64-mingw32-g++-std=c++11-Iinclude/test.cpp-lstdthread-otestInfileincludedfromtest.cpp:4:0:...error:'thread'innamespace'std'doesnotnameatype...我可以在mingw中启用c++11线程吗?使用本地g++编译代码没有任何问题。谢谢,问候凯文-编辑-我刚刚

windows - 使用 CMake 2.8.11.2 编译 osgQt (Windows7 MSVS11 Qt 5.1 OSG 3.2.0)

我正在尝试编译Qt-LibraryosgQt,因为它没有在预编译包中提供(至少不支持Windows7(x64)和MSVS11-x64)。因此,我遵循这些说明:Note:ThislibraryispartofOSGsources,butitisnotpartofprebuiltbinaries.ItisnecessarytodownloadwholeOSGprojecttobuildosgQtlibrary.I.Downloadosg3.0.1sources.II.GenerateVisualStudiosolutionwithCMake.Todothisyoucanrunprepare

c++ - 我如何读取小型转储?

我通过以下方式将小型转储写入文件:MiniDumpWriteDump.该文件是从客户端发送给我的(即我不能使用某种即时调试器)。我的问题是:如何打开它?VisualStudio给出错误:“不支持调试旧格式故障转储。”我用谷歌搜索,发现人们正在用visualstudio打开内核转储。这不是内核转储,只是应用程序崩溃的转储。我也试过用WinDbg打开它,但那也无法打开它。我怎样才能得到这些信息? 最佳答案 工具:http://technet.microsoft.com/el-gr/sysinternals/dd996900.aspx您在

c++ - 我的 "out of the box"程序在哪里可以在 Windows 中可靠地创建目录?

例如,如果我的程序尝试使用CreateDirectory()创建一个目录在C:\ProgramFiles(x86)\[installdirectory]\中,会因为权限问题而失败。我听说理想的位置是C:\Users\[username]\AppData\Local\,但是还有其他“安全”位置吗?当然,它可能会因Windows版本而异。 最佳答案 C:\ProgramData是其他常用的位置。下面这个很有帮助,http://blogs.msdn.com/b/cjacks/archive/2008/02/05/where-should-

c - 将非 BMP 代码点写入控制台

Windows控制台API提供了WriteConsoleOutput函数,它允许您将字符写入控制台上的任意位置。此函数采用CHAR_INFO的数组。结构作为参数,指定:要写的字符(即代码点)其属性但是CHAR_INFO结构只允许将代码点指定为WCHAR或CHAR。CHAR仅支持ANSI字符,WCHAR仅支持U+0000到U+FFFF范围内的代码点(即theBMP)。有没有办法使用控制台API写出U+10000到U+10FFFF范围内的代码点?IE。在BMP之外编写代码点? 最佳答案 据我所知,Windows控制台API仅限于UCS2

c - 如何删除 ISAPI 过滤器中的 header ?

ISAPI过滤器文档说我可以调用SF_REQ_SEND_RESPONSE_HEADER发送响应header,并附加其他header。ISAPI还有AddResponseHeaders允许过滤器添加要在响应中发送给客户端的其他header。在ISAPI中,有没有办法删除否则会发送给客户端的header?或者通过某种方式要求ISAPI运行时从响应中排除某些header?ISAPI运行时似乎总是包含一个Server:header,我想找到一种方法来删除它。我知道我可以在IIS管理器中以管理方式设置或取消设置header,但这并不是我想要的。我想在运行时以编程方式和有条件地在过滤器中执行此操作

c - ODBC - 从一个应用程序到同一数据源的多个连接

我依稀记得在某处(在MSDNODBC文档中?)读到一个应用程序不能与单个数据源建立多个连接。在我看来,我需要一个应用程序的所有线程都必须共享的连接。我试图查找此信息,但我似乎无法再找到它。有谁知道/记得这是如何工作的?这一切都可能成为我们应用程序的问题,因为它的一些线程将动态连接到他们选择的数据源。如果其中两个同时连接到一个源,我不想看到随机连接错误,所以我想仔细检查此信息。 最佳答案 也许您在theMSDNdocumentation中提到的声明,是说只有一个statement可以在单个连接上激活的。它说:MultipleActiv

c++ - Windows 和 Linux 中的毫秒级随机种子

我需要在boost(从int加载)中为几个进程播种随机数生成器,用于必须在Windows和Linux中编译和运行的程序。我使用了std:time(0),它起作用了,但由于进程是同时运行的作业,其中一些会在同一秒运行,产生相同的结果。所以我需要从毫秒开始播种,或者任何其他跨平台随机生成器。我尝试了clock()但无法完全将其从time_t转换为int。谢谢。 最佳答案 您最好使用特定于平台的随机数源。在Linux上,使用/dev/urandom并读取几个字节。在Windows上,获取几个字节的熵的简单方法是UuidCreate.

c - 32 位与 64 位驱动程序

在Windows732位或Windows764位上开发设备驱动程序(内核模式)时是否有任何细节?我可以在某个平台上开发并准备构建以在另一个平台上运行吗?谢谢。 最佳答案 您需要WindowsDriverKit.是的,您应该能够交叉编译。 关于c-32位与64位驱动程序,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6158022/

c++ - 如何在混合语言应用程序中创建堆?

我们有一个用VisualBasic6.0编写的前端,它调用几个用混合C/C++编写的后端DLL。问题是每个DLL似乎都有自己的堆,但其中一个堆不够大。当我们分配了足够的内存时,堆就会与程序堆栈发生冲突。每个DLL都完全用C编写,除了基本的DLL包装器是用C++编写的。每个DLL都有一些入口点。每个入口点立即调用一个C例程。我们想增加DLL中堆的大小,但一直无法弄清楚该怎么做。我搜索了指导并找到了这些MSDN文章:http://msdn.microsoft.com/en-us/library/hh405351(v=VS.85).aspx这些文章很有趣,但提供的信息相互矛盾。在我们的问题中